checkmenuitem: Don't always snapshot the indicator
authorTimm Bäder <mail@baedert.org>
Wed, 12 Jul 2017 06:30:49 +0000 (08:30 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 20 Jul 2017 01:27:16 +0000 (21:27 -0400)
Chaining up will snapshot all child widgets, which doesn't work with
GtkModelMenuItem.

gtk/gtkcheckmenuitem.c

index 0987fc18fdf2cbbde7cb329b78857e42bf65ff4c..b8d57cda48d0e5f0b8ab75101ca16d9c23574fe2 100644 (file)
@@ -495,9 +495,13 @@ gtk_check_menu_item_snapshot (GtkWidget   *widget,
                               GtkSnapshot *snapshot)
 {
   GtkCheckMenuItem *check_menu_item = GTK_CHECK_MENU_ITEM (widget);
+  GtkWidget *child;
+
+  child = gtk_bin_get_child (GTK_BIN (widget));
+
 
-  if (GTK_WIDGET_CLASS (gtk_check_menu_item_parent_class)->snapshot)
-    GTK_WIDGET_CLASS (gtk_check_menu_item_parent_class)->snapshot (widget, snapshot);
+  if (child)
+    gtk_widget_snapshot_child (widget, child, snapshot);
 
   if (GTK_CHECK_MENU_ITEM_GET_CLASS (check_menu_item)->snapshot_indicator)
     GTK_CHECK_MENU_ITEM_GET_CLASS (check_menu_item)->snapshot_indicator (check_menu_item, snapshot);